Digital communication technologies have become an integral part of every-day modern life. For example, digital communication technologies enable wired and/or wireless data reception and/or transmission to and/or from a wide range of computing and other devices such as mobile telephones, other mobile devices, televisions, computer systems, telemetry systems, and/or the like. Likewise, digital communications technologies are employed to provide voice and/or data communications for a wide range of business and consumer applications. For many of these and other digital communication devices and applications, engineers often strive to design systems of relatively low complexity and that consume relatively little power.
Signals within and/or between digital communication devices are often encoded for transmission, for example, with forward error correction coding (e.g., block coding, Hamming coding, Golay coding, etc.). Decoders are often included in digital communication devices to decode signals after reception. While use of coding typically improves the ability of receiving devices to re-create a transmitted signal in spite of channel non-idealities (e.g., signal degradations due to environmental loss, noise, interference, etc.), many encoding/decoding processes are mathematically/processor intensive. Accordingly, inclusion of a decoder in a device increases the complexity of the device—especially if the decoder is a high-performance decoder.
Moreover, typically known decoders offer only finite error correcting capabilities. In other words, these decoders may only be able to decode signals that are degraded by less than a correctable amount of degradation. For example, if a signal has been degraded by more than the correctable amount of degradation, the decoder may be unable to decode the signal. As examples, bit error rate (BER) and code strength are metrics that can be used to characterize the decodablilty of a received signal.